//
//  Person.h
//  08-ios9新特性（Nullability。泛型，_kindof）
//
//  Created by dllo on 16/7/13.
//  Copyright © 2016年 dllo. All rights reserved.
//

#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface Person : NSObject
//Nullability(只能用在 对象类型上)是在编译层次上加了一些改动
//nonnull声明的属性不能为空（getter和setter方法）
//@property(nonnull,nonatomic,copy) NSString *name;
@property(nonatomic,copy) NSString * __nonnull name;
// __nonnull 在声明属性的类型后加__nonnull
//nullable声明的属性，可以为空，（getter和setter方法）
//@property(nullable,nonatomic,copy) NSString *sex;
//在声明属性的类型后加__nullable

@property(nonatomic,copy) NSString * __nullable sex;
//@property(nonnull,nonatomic,assign)NSInteger number;//不可以这样做



//setter方法可以为空，getter方法是不能为空
//UIViewController中的view属性
@property (null_resettable,nonatomic,strong)NSArray *friends;

@property(nonatomic,strong)NSDictionary *dic;
//NS_ASSUME_NONNULL_BEGIN
//NS_ASSUME_NONNULL_END
//一般应用于头文件.h一般将声明包含起来,针对所有属性，添加nonnull修饰
//也就是说，除了nullable和null_resttable需压加修饰，其他都不需要










@end
NS_ASSUME_NONNULL_END